//package com.zmn.plat.dubbo.interfaces.price;
//
//import com.zmn.common.dto2.ResponseDTO;
//import com.zmn.plat.common.dto.brand.BaseBrandDRO;
//import com.zmn.plat.common.dto.price.ItemTo;
//import com.zmn.plat.common.dto.price.meter.*;
//import com.zmn.plat.common.dto.product.tariff.TariffBackProductDRO;
//import com.zmn.plat.common.dto.product.tariff.TariffProductDRO;
//import com.zmn.plat.common.dto.product.tariff.category.TariffCategoryDRO;
//import com.zmn.plat.common.dto.product.tariff.category.TariffCategoryPageDRO;
//import com.zmn.plat.common.dto.product.tariff.servcategory.TariffServCategoryDRO;
//import com.zmn.plat.common.dto.servcategory.ServCategoryChildrenDRO;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import io.swagger.annotations.ApiParam;
//
//import javax.validation.constraints.NotNull;
//import java.util.List;
//
///**
// * 描述: 计价器报价流程接口类（所有接口前提是有计价器试点，接口是按照操作顺序）
// *
// * @author guoqiao
// * @since 2021/8/13 16:34
// */
//@Api(value = "计价器报价流程接口", tags = {"计价器"})
//public interface MeterFlowRemoteService {
//
//    /**
//     * 描述: 1.获取有计价器产品的服务品类
//     *
//     * @param channelId 渠道id
//     * @param cityId 城市id
//     * @return ResponseDTO<List<ServCategoryChildrenDRO>>
//     * @author guoqiao
//     * @since 2021/9/17 13:53
//     */
//    @ApiOperation(value = "1.获取有计价器产品的服务品类", response = ResponseDTO.class)
//    ResponseDTO<List<ServCategoryChildrenDRO>> listServAndCategByChannelIdAndCity(@NotNull(message = "入参不能为空")
//                                                                                  @ApiParam(value = "渠道id", required = true) Integer channelId,
//                                                                                  @NotNull(message = "入参不能为空")
//                                                                                  @ApiParam(value = "城市id", required = true) Integer cityId);
//
//    /**
//     * 描述: 2.获取有计价器产品的二级分类
//     *
//     * @param channelId 渠道id
//     * @param cityId 城市id
//     * @return ResponseDTO<TariffCategoryPageDRO>
//     * @author guoqiao
//     * @since 2021/9/17 13:53
//     */
//    @ApiOperation(value = "2.获取有计价器产品的二级分类", response = ResponseDTO.class)
//    ResponseDTO<TariffCategoryPageDRO> listTwoCategByChannelIdAndCity(@NotNull(message = "入参不能为空")
//                                                         @ApiParam(value = "渠道id", required = true) Integer channelId,
//                                                         @NotNull(message = "入参不能为空")
//                                                         @ApiParam(value = "城市id", required = true) Integer cityId);
//
//    /**
//     * 描述: 3.根据关键字搜索产品二级分类
//     *
//     * @param query
//     * @return ResponseDTO<List<TariffCategoryDRO>>
//     * @author guoqiao
//     * @since 2021/9/13 14:42
//     */
//    @ApiOperation(value = "3.根据关键字搜索产品二级分类", response = ResponseDTO.class)
//    ResponseDTO<List<TariffCategoryDRO>> listFtCategByQuery(@NotNull(message = "入参不能为空") MeterFtCategQuery query);
//
//    /**
//     * 描述: 4.根据前台产品二级分类查询服务分类
//     *
//     * @param query
//     * @return ResponseDTO<List<TariffServCategoryDRO>>
//     * @author guoqiao
//     * @since 2021/9/23 14:42
//     */
//    @ApiOperation(value = "4.根据前台产品二级分类查询服务分类", response = ResponseDTO.class)
//    ResponseDTO<List<TariffServCategoryDRO>> listServByQuery(@NotNull(message = "入参不能为空") MeterServQuery query);
//
//    /**
//     * 描述: 5.根据前台产品服务分类、二级分类查询计价器产品
//     *
//     * @param query
//     * @return ResponseDTO<List<TariffProductDRO>>
//     * @author guoqiao
//     * @since 2021/10/8 11:44
//     */
//    @ApiOperation(value = "5.根据前台产品服务分类、二级分类查询计价器产品", response = ResponseDTO.class)
//    ResponseDTO<List<TariffProductDRO>> listTariffProductByQuery(@NotNull(message = "入参不能为空") MeterFtProductQuery query);
//
//    /**
//     * 描述: 6.根据前台产品或计价器产品查询品牌
//     *
//     * @param query
//     * @return ResponseDTO<List<BaseBrandDRO>>
//     * @author guoqiao
//     * @since 2021/10/8 16:10
//     */
//    @ApiOperation(value = "6.根据前台产品或计价器产品查询品牌", response = ResponseDTO.class)
//    ResponseDTO<List<BaseBrandDRO>> listBrandByQuery(@NotNull(message = "入参不能为空") MeterBrandQuery query);
//
//    /**
//     * 描述: 7.根据项目类型查询项目
//     *
//     * @param query
//     * @return ResponseDTO<List<ItemTo>>
//     * @author guoqiao
//     * @since 2021/10/8 16:10
//     */
//    @ApiOperation(value = "7.根据项目类型查询项目", response = ResponseDTO.class)
//    ResponseDTO<List<ItemTo>> listItemByQuery(@NotNull(message = "入参不能为空") MeterItemQuery query);
//
//    /**
//     * 描述: 8.根据计价器产品查询后台二级分类
//     *
//     * @param query
//     * @return ResponseDTO<List<TariffCategoryDRO>>
//     * @author guoqiao
//     * @since 2021/10/8 16:10
//     */
//    @ApiOperation(value = "8.根据计价器产品查询后台二级分类", response = ResponseDTO.class)
//    ResponseDTO<List<TariffCategoryDRO>> listBkCategByQuery(@NotNull(message = "入参不能为空") MeterBkCategQuery query);
//
//    /**
//     * 描述: 9.根据计价器产品查询后台产品
//     *
//     * @param query
//     * @return ResponseDTO<List<TariffBackProductDRO>>
//     * @author guoqiao
//     * @since 2021/10/8 16:10
//     */
//    @ApiOperation(value = "9.根据计价器产品查询后台产品", response = ResponseDTO.class)
//    ResponseDTO<List<TariffBackProductDRO>> listBkProductByQuery(@NotNull(message = "入参不能为空") MeterBkProductQuery query);
//
//    /**
//     * 描述: 10.计价器报价
//     *
//     * @param query
//     * @return ResponseDTO<List<ItemTo>>
//     * @author guoqiao
//     * @since 2021/10/8 16:10
//     */
//    @ApiOperation(value = "10.计价器报价", response = ResponseDTO.class)
//    ResponseDTO<List<ItemTo>> listQuoteByQuery(@NotNull(message = "入参不能为空") MeterQuoteQuery query);
//
//    /**
//     * 描述: 11.计价器报价（后台产品二级分类或后台产品不清楚）
//     *
//     * @param query
//     * @return ResponseDTO<List<MeterQuoteUnknowDRO>>
//     * @author guoqiao
//     * @since 2021/10/8 16:10
//     */
//    @ApiOperation(value = "11.计价器报价（后台产品二级分类或后台产品不清楚）", response = ResponseDTO.class)
//    ResponseDTO<List<MeterQuoteUnknowDRO>> listQuoteUnknowByQuery(@NotNull(message = "入参不能为空") MeterQuoteUnknowQuery query);
//
//    /**
//     * 描述: 12.根据后台产品id和项目类型查询项目价格
//     *
//     * @param query
//     * @return ResponseDTO<List<ItemTo>>
//     * @author guoqiao
//     * @since 2021/10/8 16:10
//     */
//    @ApiOperation(value = "12.根据后台产品id和项目类型查询项目价格", response = ResponseDTO.class)
//    ResponseDTO<List<ItemTo>> listItemPriceByItemCategId(@NotNull(message = "入参不能为空") MeterItemPriceQuery query);
//
//    /**
//     * 描述: 13.根据后台产品id和收费标准查询项目价格
//     *
//     * @param query
//     * @return ResponseDTO<List<ItemTo>>
//     * @author guoqiao
//     * @since 2021/10/8 16:10
//     */
//    @ApiOperation(value = "13.根据后台产品id和是否一口价查询项目价格", response = ResponseDTO.class)
//    ResponseDTO<List<ItemTo>> listItemPriceByPriceStandard(@NotNull(message = "入参不能为空") MeterItemPriceQuery query);
//
//
//}
